; 鼠标手势, 通过鼠标右键手势来完成相关操作
#IfWinNotActive ahk_exe msedge.exe
rbutton::    
	minGap  = 30 ; 设定的识别阈值，大于此阈值，说明在某方向上有移动
	mousegetpos xpos1,ypos1
	Keywait, RButton, U
	mousegetpos xpos2, ypos2
	; nothing 没有运动, 直接输出rbutton 
	if (abs(xpos1 - xpos2) < minGap and abs(ypos1 - ypos2) < minGap)
		send, {rbutton}
	
	; left 切换到上一个标签Ctrl + Shift + Tab
	; 由于按Ctrl + Tab + Shift会触发Ctrl + Tab操作, 所以这里需要注意顺序
	else if (xpos1 - xpos2 > minGap and abs(ypos1 - ypos2) < minGap)
		sendinput, {Ctrl down} {Shift down} {Tab down} {Tab up} {Shift up} {Ctrl up}
	; right 切换到下一个标签Ctrl + Tab
	else if (xpos2 - xpos1 > minGap and abs(ypos1 - ypos2) < minGap)
		sendinput, {Ctrl down} {Tab down} {Tab up} {Ctrl up}
		
	; up 打开画图板
	else if (abs(xpos1 - xpos2)< minGap and (ypos1 - ypos2) > minGap)
		Run mspaint
	; down 打开baidu
	else if (abs(xpos1 - xpos2)< minGap and (ypos2 - ypos1) > minGap)
		Run www.baidu.com
		
	; down and left Win + Shift + s 截屏
	else if (ypos2 - ypos1 > minGap and (xpos1 - xpos2) > minGap) 
		send, #+s
	; down and right Ctrl + Alt + K 粘贴
	else if (ypos2 - ypos1 > minGap and (xpos2 - xpos1) > minGap) {
		send, ^v
		send, {Enter}
	}
		
	; up and right 关闭当前标签页 | 关闭当前窗口
	else if (ypos1 - ypos2 > minGap and (xpos2 - xpos1) > minGap) {
		send, ^w
	}
	; up and left Ctrl + Alt + K设置业务名称
	else if (ypos1 - ypos2 > minGap and (xpos1 - xpos2) > minGap) {
		send, ^!k
		;FormatTime, timestamps, %A_Now%, MMddHHmmss	; 获取当前时间
		;Send, eth_
		;Send, % timestamps
	}
	else
		send, {rbutton}
return
#IfWinNotActive
